1. Field of the Invention
The present invention relates to a system and method for rendering textured objects. Particularly, the present invention relates to a system and method for rendering textured NURBS surfaces.
2. Art Background
The ability to provide texturing to a surface enhances rendering capabilities in computer graphics. In one technique, referred to as texture mapping, a map of the texture is generated in a texture coordinate (TC) space. The object to which the texture is to be applied is realized in modeling coordinate (MC) space. A binding processes is then performed to define the correspondence of the texture coordinates to the object coordinates. Typically, the binding process binds the coordinates of the texture map in TC space (e.g., u,v coordinates) to predetermined coordinates of the object in MC space (e.g., x,y,z,w coordinates). A subset of all possible points of the object is typically used, such as the vertices of the object.
Once the binding process is complete, the object is mapped to device coordinate space (DC). In order to determine the texture coordinate associated with each pixel of the object in DC space, an interpolation process, using the subset of all possible points binded, is performed to determine the elements of the texture map to be applied to each coordinate of the object in DC space. A color composition process is subsequently performed to incorporate the colors of the texture map onto the object in the display coordinate space. This object with the colors of the texture is then displayed on the display device. For further information regarding texture and the texturing process see, Kamen, "Texture Mapping", Sun Interactive Media, November 1992, and Kamen, "Texture Mapping, Part II: Parameterization", Sun Iriteractive Media, February 1993; or Rogers, Earnshaw, Editors, Computer Graphics Techniques, Theory and Practice, pp. 159-187 (1990, Springer-Verlag).
However, the binding process is performed for each object and texture combination and the application of different texture maps to the same object requires separate binding processes. Furthermore, for objects defined in parameter coordinate (PC) space, such as non-uniform rational B-spline surfaces (NURBS), the process works only if the PC space is set to equal the TC space or by first tessellating NURBS into triangles and applying known texture mapping processes for each triangle.